/*
 * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <gtest/gtest.h>
#include "sle_error_code.h"
#include "mock_ipcobject_stub.h"
#include "sle_ssap_server_callback_proxy.h"


class SleSsapServerCallbackProxyTest : public testing::Test {
public:
    static void SetUpTestCase();
    static void TearDownTestCase();
    void SetUp() override;
    void TearDown() override;

};
void SleSsapServerCallbackProxyTest::SetUp()
{
}

void SleSsapServerCallbackProxyTest::TearDown()
{
}

void SleSsapServerCallbackProxyTest::SetUpTestCase()
{
}

void SleSsapServerCallbackProxyTest::TearDownTestCase()
{
}

namespace OHOS {
namespace NearLink {
namespace SleStandard {




HWTEST_F(SleSsapServerCallbackProxyTest, OnStartService_001, testing::ext::TestSize.Level0)
{
    sptr<IRemoteObject> mockStub = new MockIPCObjectStub(u"test");
    std::shared_ptr<SleSsapServerCallbackProxy> proxy = std::make_shared<SleSsapServerCallbackProxy>(mockStub);
    uint8_t serverId = 1;
    uint16_t handle = 1;
    uint32_t errCode = SLE_NO_ERROR;
    proxy->OnStartService(serverId, handle, errCode);

}
/******************************************************************************************************************************** */

HWTEST_F(SleSsapServerCallbackProxyTest, OnAllServiceDelete_001, testing::ext::TestSize.Level0)
{
    sptr<IRemoteObject> mockStub = new MockIPCObjectStub(u"test");
    std::shared_ptr<SleSsapServerCallbackProxy> proxy = std::make_shared<SleSsapServerCallbackProxy>(mockStub);
    uint8_t serverId = 1;
    uint32_t handle = 1;
    proxy->OnAllServiceDelete(serverId, handle);
}
/******************************************************************************************************************************** */

HWTEST_F(SleSsapServerCallbackProxyTest, OnReadRequest_001, testing::ext::TestSize.Level0)
{
    sptr<IRemoteObject> mockStub = new MockIPCObjectStub(u"test");
    std::shared_ptr<SleSsapServerCallbackProxy> proxy = std::make_shared<SleSsapServerCallbackProxy>(mockStub);
    uint8_t serverId = 1;
    uint16_t connectId = 1;
    SsapServerReqReadCbParam param;
    uint32_t errCode = 1;
    proxy->OnReadRequest(serverId, connectId, param, errCode);
}
/******************************************************************************************************************************** */


HWTEST_F(SleSsapServerCallbackProxyTest, OnWriteRequest_001, testing::ext::TestSize.Level0)
{
    sptr<IRemoteObject> mockStub = new MockIPCObjectStub(u"test");
    std::shared_ptr<SleSsapServerCallbackProxy> proxy = std::make_shared<SleSsapServerCallbackProxy>(mockStub);
    uint8_t serverId = 1;
    uint16_t connectId = 1;
    SsapServerReqWriteCbParam param;
    uint32_t errCode = 1;
    proxy->OnWriteRequest(serverId, connectId, param, errCode);
}
/******************************************************************************************************************************** */

HWTEST_F(SleSsapServerCallbackProxyTest, OnMtuInfoChanged_001, testing::ext::TestSize.Level0)
{
    sptr<IRemoteObject> mockStub = new MockIPCObjectStub(u"test");
    std::shared_ptr<SleSsapServerCallbackProxy> proxy = std::make_shared<SleSsapServerCallbackProxy>(mockStub);
    uint8_t serverId = 0;
    uint16_t connectId = 0;
    uint32_t mtu = 0;
    uint16_t version = 0;
    uint32_t errCode = 0;
    proxy->OnMtuInfoChanged(serverId, connectId, mtu, version,errCode);
}
/******************************************************************************************************************************** */


}}}